package com.datahub.system.handler;

import com.alibaba.csp.sentinel.slots.block.BlockException;
import com.datahub.common.core.web.domain.AjaxResult;
import com.datahub.system.api.domain.SysUser;

/**
 * @author : zhouhx
 * 此类型用来处理限流自定义逻辑
 * @date : 2025/2/11 15:55
 */
public class CustomerBlockHandler {
    /**
     * 流控降级
     */
    public static AjaxResult userListFlowException(SysUser user,BlockException exception){
        return AjaxResult.error("系统超出最大请求数量，请稍后重试！");
    }

    /**
     * 熔断降级
     */
    public static AjaxResult userInfoDegradeException(Long userId,BlockException exception){
        return AjaxResult.error("系统繁忙稍后重试");
    }

    /**
     * 热点降级
     */
    public static AjaxResult authRoleHotException(Long userId,BlockException exception){
        return AjaxResult.error("系统排队中稍后重试");
    }
}
